package com.cskaoyan.javase.method._2exercise;

import com.sun.deploy.util.SyncAccess;

import java.util.Scanner;

/**
 * 小试牛刀，完成以下练习题：
 * 键盘录入两个值，求最大值。
 *
 * 定义一个方法，求圆的面积：
 *
 * 方法参数:半径 (radius)
 * 圆周率:3.14（获取用Math.PI获取）
 *
 * 定义一个计算器（Calculator）它的功能有：
 * 加，减，乘，除
 * 求平方
 * 求a的n次方
 * ...
 * @since 17:26
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        // 创建Scanner对象
        Scanner sc = new Scanner(System.in);
        System.out.println("这两个数的最大值是:" + getMaxValueByScanner(sc));

        System.out.println("------------------");

        System.out.println(getAreaCircle(2));
    }

    // 键盘录入两个值，求最大值。
    /*
        方法的形参如果是基本数据类型,那就直接在调用方法时传一个值过来
        如果是引用数据类型,需要传一个对象过来(new关键字就是创建对象)
        比如下列方法就是需要传入一个Scanner对象给方法
     */
    public static int getMaxValueByScanner(Scanner sc) {
        // 方法已经在外部传入一个Scanner对象,那么在方法中可以直接使用它
        System.out.println("请输入两个int整数:");
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
        return (num1 > num2) ? num1 : num2;
    }

    // 求圆的面积
    public static double getAreaCircle(double radius) {
        // return 3.14 * radius * radius;
        /*
            圆周率PI是一个常量,在Java中用Math.PI可以获取它
            Math是一个工具类
            提供一些和数学运算相关的操作方法,以及一些常量
            数学工具类
            比如幂运算,开方等
          */
        return Math.PI * radius * radius;
    }
}
